<?php

namespace app\lib\qrcode;

use Endroid\QrCode\QrCode as Q;
use Endroid\QrCode\Writer\PngWriter;
class Qrcode
{
    /**
     * 生成二维码
     * @param $text
     * @return string
     * @throws \Exception
     */
    public function qrcode($text)
    {
        // 创建二维码对象
        $qrCode = Q::create($text);
        // 创建 PNG 写入器
        $writer = new PngWriter();
        // 生成二维码图像
        $result = $writer->write($qrCode);
        // 获取图像数据
        $imageData = $result->getString();
        // 将图像数据转换为 Base64 编码
        $base64Data = base64_encode($imageData);
        // 生成完整的 Base64 图像 URI
        return 'data:image/png;base64,'. $base64Data;
    }
}